
local sx_button = nil
ac.game:event '游戏-注册三维文本' (function(_, button)
    button.main_tip = ' - |cffffff00主要属性|r|n - 每点提升|cff00ff000.5|r基础攻击和|cff00ff005|r生命上限'
    button.str_tip = ' - |cff999999每点提升|r|cff00ff0010|r|cff999999生命上限|r|n'
    button.agi_tip = ' - |cff999999每点提升|r|cff00ff001|r|cff999999物理附伤|r|n'
    button.int_tip = ' - |cff999999每点提升|r|cff00ff001|r|cff999999魔法附伤|r|n'
    sx_button = button
end)

ac.game:event '玩家-更换英雄完毕'(function(_,player,hero)
    local old = hero.main_attribute
    local new = hero['主属性']
    local num = hero:get(new)
    if old then
        num = num - hero:get(old)
    end
    
    local sx_tip = ''
    if new=='力量' then
        sx_tip = '该英雄为|cffff0000力量|r英雄，攻击造成|cffffcc00物理伤害|r|n造成的伤害均享受|cffff6800技能输出|r的提升'
    elseif new=='敏捷' then
        sx_tip = '该英雄为|cff00ff00敏捷|r英雄，攻击造成|cffffcc00物理伤害|r|n造成的伤害均享受|cffff6800普攻输出|r的提升'
    elseif new=='智力' then
        sx_tip = '该英雄为|cff00ffff智力|r英雄，攻击造成|cff00ccff魔法伤害|r|n造成的伤害均享受|cffff6800技能输出|r的提升'
    elseif new=='通用' then
        sx_tip = '该英雄为|cff0000ff通用|r英雄，攻击造成|cffff6800自适应伤害|r|n所有伤害享受|cffff6800普攻/技能输出|r最高项的提升'
    end
    
    hero.main_attribute = new
    hero:add('基础攻击',0.5*num)
    hero:add('生命上限',5*num)
    if player:is_self() then
        sx_button.bottom_tip = sx_tip
    end
end)


--三维处理
ac.game:event '英雄-三维变动'(function(_,hero,name,num)
    if num==0 then
        return
    end
    if hero.main_attribute==name then
        hero:add('基础攻击',0.5*num)
        hero:add('生命上限',5*num)
    end
    if name=='力量' then
        hero:add('生命上限',10*num)
    end
    if name=='敏捷' then
        hero:add('物理附伤',1*num)
    end
    if name=='智力' then
        hero:add('魔法附伤',1*num)
    end
end)

--[英雄升级]
ac.game:event '单位-英雄升级'(function(_,hero)
    if hero.level==hero.max_level then
        return
    end
    if hero.level%10==0 then
        hero:set_data('转生次数',hero:get_data('转生次数',0) + 1)
    end
    local key1 = '累计力量成长'
    local key2 = '累计敏捷成长'
    local key3 = '累计智力成长'
    hero:set_data(key1,hero:get_data(key1,0) + hero:get('力量成长'))
    hero:set_data(key2,hero:get_data(key2,0) + hero:get('敏捷成长'))
    hero:set_data(key3,hero:get_data(key3,0) + hero:get('智力成长'))
    hero:add('基础力量',hero:get('力量成长'))
    hero:add('基础敏捷',hero:get('敏捷成长'))
    hero:add('基础智力',hero:get('智力成长'))
end)

--[成长补正]
ac.game:event '单位-成长补正'(function(_,hero,max)
    local level = hero.level - 1
    local key1 = '累计力量成长'
    local key2 = '累计敏捷成长'
    local key3 = '累计智力成长'
    local ex4 = math.min(hero:get('力量成长')*level - hero:get_data(key1,0),max or 999999)
    local ex5 = math.min(hero:get('敏捷成长')*level - hero:get_data(key2,0),max or 999999)
    local ex6 = math.min(hero:get('智力成长')*level - hero:get_data(key3,0),max or 999999)
    
    hero:set_data(key1,hero:get_data(key1,0) + ex4)
    hero:set_data(key2,hero:get_data(key2,0) + ex5)
    hero:set_data(key3,hero:get_data(key3,0) + ex6)
    
    hero:add('基础力量',ex4)
    hero:add('基础敏捷',ex5)
    hero:add('基础智力',ex6)
end)


